home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 1995 May / PC Answers CD-ROM 7 (Future Publishing) (May 1995).iso / vbits / demos / qbs / amt / demoquik.exe / DEMORUN.MST < prev    next >
Encoding:
Text File  |  1994-07-05  |  7.3 KB  |  262 lines

  1. '**************************************************************************
  2. '*                       DEMORUN Demo Product Setup
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST DRIVESELECT   = 1100
  19.  
  20. CONST APPHELP       = 900
  21. CONST BADPATH       = 6400
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. GLOBAL DEST$        ''Default destination directory.
  27. GLOBAL OPTCUR$        ''Null for now
  28. GLOBAL WINDRIVE$    ''Used in size test
  29.  
  30. GLOBAL SrcDir$
  31. GLOBAL WinDir$
  32. GLOBAL WinSysDir$
  33.  
  34. GLOBAL DEST_MNU$
  35. GLOBAL OLD_MNU$
  36. GLOBAL VFW%
  37. GLOBAL OKWRITE%
  38. GLOBAL PRO%
  39.  
  40. GLOBAL WantedDiskSize&    ''Used for disk size test
  41.  
  42. DECLARE SUB Install
  43. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  44.  
  45. ''DECLARE FUNCTION DoProtect LIB "PROTECT.DLL" (szDisk$) AS INTEGER
  46.  
  47. INIT:
  48.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  49.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  50.  
  51.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  52.     WinDir$ = GetWindowsDir()
  53.     WinSysDir$ = GetWindowsSysDir()
  54.  
  55.     MajorVer% = GetWindowsMajorVersion()
  56.     MinorVer% = GetWindowsMinorVersion()
  57.  
  58.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  59.         i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  60.         END
  61.     END IF
  62.  
  63.     SetBitmap CUIDLL$, LOGO
  64.     SetTitle "DEMOquick Developer Training...Created with DEMOquick !"
  65.  
  66.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  67.     IF szInf$ = "" THEN
  68.          szInf$ = GetSymbolValue("STF_CWDDIR") + "DEMORUN.INF"
  69.     END IF
  70.     ReadInfFile szInf$
  71.  
  72.     OPTCUR$ = "1"
  73.     DEST$ = "C:\DEMORUN"
  74.  
  75.  
  76. WELCOME:
  77.  
  78. GETPATH:
  79.     SetSymbolValue "EditTextIn", DEST$
  80.     SetSymbolValue "EditFocus", "END"
  81.  
  82. GETPATHL1:
  83.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  84.     DEST$ = GetSymbolValue("EditTextOut")
  85.  
  86.     IF sz$ = "CONTINUE" THEN
  87.         UIPop 1
  88.  
  89.     ELSEIF sz$ = "REACTIVATE" THEN
  90.         GOTO GETPATHL1
  91.     ELSEIF sz$ = "BACK" THEN
  92.         UIPop 1
  93.         GOTO WELCOME
  94.     ELSE
  95.         GOSUB ASKQUIT
  96.         GOTO WELCOME
  97.     END IF
  98.  
  99.  
  100.     Install
  101.  
  102.  
  103. QUIT:
  104.     ON ERROR GOTO ERRQUIT
  105.  
  106.     IF ERR = 0 THEN
  107.         dlg% = EXITSUCCESS
  108.     ELSEIF ERR = STFQUIT THEN
  109.         dlg% = EXITQUIT
  110.     ELSE
  111.         dlg% = EXITFAILURE
  112.     END IF
  113.  
  114. QUITL1:
  115.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  116.     IF sz$ = "REACTIVATE" THEN
  117.         GOTO QUITL1
  118.     END IF
  119.     UIPop 1
  120.  
  121.     END
  122.  
  123. ERRQUIT:
  124.     i% = DoMsgBox("Setup sources were corrupted, call (508) 263-3030 !", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  125.     END
  126.  
  127.  
  128. BADPATH:
  129.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  130.     IF sz$ = "REACTIVATE" THEN
  131.         GOTO BADPATH
  132.     END IF
  133.     UIPop 1
  134.     RETURN
  135.  
  136.  
  137. ASKQUIT:
  138.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  139.  
  140.     IF sz$ = "EXIT" THEN
  141.         UIPopAll
  142.         ERROR STFQUIT
  143.     ELSEIF sz$ = "REACTIVATE" THEN
  144.         GOTO ASKQUIT
  145.     ELSE
  146.         UIPop 1
  147.     END IF
  148.     RETURN
  149.  
  150.  
  151. '*************************************************************************
  152. '**
  153. '** Purpose:
  154. '**     Builds the copy list and performs all installation operations.
  155. '** Arguments:
  156. '**     none.
  157. '** Returns:
  158. '**     none.
  159. '*************************************************************************
  160. SUB Install STATIC
  161.  
  162.     ''Save a copy of previous menu (if present)------------------------
  163.     DEST_MNU$ = DEST$ + "\DEMORUN.MNU"
  164.     OLD_MNU$   = DEST$ + "\OLD.MNU"
  165.     i% = DoesFileExist(DEST_MNU$, femExists)
  166.     IF i% = 1 THEN
  167.         CopyFile DEST_MNU$, OLD_MNU$, cmoNone, 0
  168.     END IF
  169.  
  170.         ''Check the disk space - TEST THIS ON NETWORK DRIVES-----------------
  171.         WINDRIVE$ = MID$(DEST$, 1, 1)
  172.         WantedDiskSize&=5800000
  173.  
  174.         DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  175.  
  176.         If WantedDiskSize& > DiskSize& then
  177.             i% = DoMsgBox("Not enough free disk space.  Need 1.8 MB to install + 4 MB additional to run DEMOquick tutorial.", "Install Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  178.                END
  179.         END IF
  180.  
  181.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  182.         CreateDir DEST$, cmoNone
  183.  
  184.         AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  185.  
  186.     ''Add Video-For-Windows Run-Time files------------------------------
  187.     ''See if we can install VFW on system
  188.  
  189.     VFW% = DoesFileExist(MakePath(WinSysDir$, "MSVIDEO.DLL"), femExists)
  190.  
  191.     OKWRITE% = IsDirWritable(WinSysDir$)
  192.  
  193.     IF (VFW% = 0) AND (OKWRITE% = 1) THEN
  194.         AddSectionFilesToCopyList "VFW Runtime", SrcDir$, WinSysDir$
  195.         AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  196.     ELSE
  197.         IF VFW% = 1 THEN
  198.             i% = DoMsgBox("Video For Windows drivers already present.  Install will continue.  Click on OK.", "Video-For-Windows Present", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  199.         ELSEIF OKWRITE% = 0 THEN
  200.             i% = DoMsgBox("WINDOWS\SYSTEM directory is write protected.  Drivers not installed.", "Video-For-Windows Drivers", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  201.         ENDIF
  202.     ENDIF
  203.   
  204.     ''Add PROFILE.EXE program if not there -----------------------------
  205.     PRO% = DoesFileExist(MakePath(WinSysDir$, "PROFDISP.EXE"), femExists)
  206.     IF (PRO% = 0) AND (OKWRITE% = 1) THEN
  207.         AddSectionFilesToCopyList "Profile", SrcDir$, WinSysDir$
  208.     ENDIF
  209.  
  210.  
  211.         ''Copy the files...................................................
  212.  
  213.         CopyFilesInCopyList
  214.  
  215.         ''Update WIN.INI and SYSTEM.INI......................................
  216.  
  217.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  218.         CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  219.         CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  220.  
  221.        Run ("profdisp")
  222.  
  223.         CreateProgmanGroup "DEMOrun", "DEMORUN.GRP", cmoNone
  224.         ShowProgmanGroup  "DEMOrun", 1, cmoNone
  225.         CreateProgmanItem "DEMOrun", "DEMOquick Sample Tutorial", MakePath(DEST$,"DEMORUN.exe"),"", cmoOverwrite
  226.  
  227.     ''Append old .MNU menu to new
  228.     i% = DoesFileExist(OLD_MNU$, femExists)
  229.  
  230.     IF i% = 1 THEN
  231.     CopyFile OLD_MNU$, DEST_MNU$, cmoNone, 1
  232.     END IF
  233.  
  234.  
  235. END SUB
  236.  
  237.  
  238.  
  239. '**---------------------------------------------------------------
  240. '**
  241. '** Purpose:
  242. '**     Appends a file name to the end of a directory path,
  243. '**     inserting a backslash character as needed.
  244. '** Arguments:
  245. '**     szDir$  - full directory path (with optional ending "\")
  246. '**     szFile$ - filename to append to directory
  247. '** Returns:
  248. '**     Resulting fully qualified path name.
  249. '*************************************************************************
  250. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  251.     IF szDir$ = "" THEN
  252.         MakePath = szFile$
  253.     ELSEIF szFile$ = "" THEN
  254.         MakePath = szDir$
  255.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  256.         MakePath = szDir$ + szFile$
  257.     ELSE
  258.         MakePath = szDir$ + "\" + szFile$
  259.     END IF
  260. END FUNCTION
  261.  
  262.